<?php

namespace App\Helpers;

class Express
{
    /**
     * 订单物流信息跟踪
     * @param $com
     * @param $num
     * @param $phone
     * @param $form
     * @param $to
     * @return mixed
     */
    public static function express($com, $num, $phone, $form, $to)
    {
        //====================================
        // 地图轨迹示例代码
        // 授权信息可通过链接查看：https://api.kuaidi100.com/manager/v2/myinfo/enterprise
        //====================================

        // 参数设置
        $key = 'xSqmrwmS748';                        // 客户授权key
        $customer = '';                   // 查询公司编号
        $param = array(
            'com' => $com,             // 快递公司编码
            'num' => $num,     // 快递单号
            'phone' => $phone,                // 手机号
            'from' =>$form,                 // 出发地信息
            'to' =>$to,                   // 目的地信息
            'resultv2' => '5',            // 添加此字段表示开通行政区域解析功能
            'show' => '0',                // 返回格式：0：json格式（默认），1：xml，2：html，3：text
            'order' => 'desc',            // 返回结果排序:desc降序（默认）,asc 升序
            'orderTime' => ''             // 订单下单时间，格式为（yyyy-MM-dd HH:mm:ss）如：2020-12-16 12:59:59
        );

        // 请求参数
        $post_data = array();
        $post_data['customer'] = $customer;
        $post_data['param'] = json_encode($param, JSON_UNESCAPED_UNICODE);
        $sign = md5($post_data['param'] . $key . $post_data['customer']);
        $post_data['sign'] = strtoupper($sign);

        $url = 'https://poll.kuaidi100.com/poll/maptrack.do';    // 地图轨迹请求地址


        //发送post请求
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $result = curl_exec($ch);
        $data = json_decode($result, true);


        //数据返回
        return $data;
    }
}
